我的Bilibili频道:香芋派Taro
我的个人博客:taropie0224.github.io(阅读体验更佳)
我的公众号:香芋派的烘焙坊
我的音频技术交流群:1136403177
我的个人微信:JazzyTaroPie

https://leetcode.cn/problems/delete-node-in-a-linked-list/

题解

1
2
3
4
5
6
7
class Solution {
public:
void deleteNode(ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
};

思路

最头痛的肯定是链表这个东西是不能访问之前的节点的,但是我们可以通过修改值来实现类似的效果

假如有链表1 -> 2 -> 3 -> 4,我们要删除其中的2节点

我们可以先将2改为3,变成1 -> 3 -> 3 -> 4

然后跳过原来的3,直接指向4,变成1 -> 3 -> 4,以此达到相同的效果